草庐IT

c++ - UDP打洞

全部标签

c - 从c中的文件中读取所有字节

我正在尝试从文件中读取字节,但大小已损坏。调试时我可以看到st.st_size的值,但我无法读取size的值。intmain(void){FILE*oud;structstatst;_off_tsize;unsigned*bytes;charconstpath[]="C:\\Users\\Ruben\\Documents\\test.txt";errno_terror;if((error=fopen_s(&oud,path,"rb"))!=NULL)return-1;stat(path,&st);size=st.st_size;bytes=(unsigned*)malloc(size)

c++ - 如何使用 Winsock LSP 修改出站 UDP 流量?

我正在构建一个应用程序,它需要在DHCPv6数据包到达线路之前对其进行动态修改。我正在使用DHCPv6供应商选项做一些非常专有的工作,我需要能够在传输之前检查和修改内存中的这些选项。我通过修改Microsoft示例代码在Winsock之上构建了一个概念验证分层服务提供程序。它拦截传出的HTTP数据包,将referrer-agent更改为有趣的东西,然后按原样发送数据包。在Wireshark中验证,效果很好。更改我的安装程序代码也很简单,这样我的LSP就可以链接到UDP/IPv6而不是TCP/IPv4之上,现在,在附加调试器的情况下,我可以看到自己获得了带有堆栈的回调DHCP服务器。但是

c - SDL+OpenGL 在 linux 下工作但在 windows 下不工作,不是编译器/链接器问题

好吧,关于我一直从事的项目,我遇到了一个非常奇怪的问题。该项目是一个3D引擎(分别使用SDL和openGL进行输入处理和图形处理)。在过去的几个月里,我一直在linux(Ubuntu10.10)中从事这个项目,最近决定将代码移植到Windows7环境中。我选择SDL的主要原因之一是它独立于操作系统处理窗口创建,这意味着从一个操作系统移植到另一个操作系统应该相当简单。我在编译或链接时没有遇到问题,问题是完全相同的代码显然没有理由以两种完全不同的方式运行。首先,一个差异的可视化示例:http://i.stack.imgur.com/RNcCs.jpg它不应该这样看,首先左下角的紫色revt

c - 如何在不知道其名称的情况下获取 JobObject 的句柄?

我的应用程序正在作业中运行。我想使用OpenJobObject获取此Jobobject的句柄,以便稍后使用此句柄。问题是,我不知道作业名称,将NULL传递给作业名称会返回错误87(参数不正确)。我是这样尝试的:HANDLEhandle=OpenJobObject(JOB_OBJECT_QUERY,FALSE,NULL);if(!handle)printf("\nError%d",GetLastError());elseprintf("\nOK");我也在MSDN上找到了这个:应用程序无法获得运行它的作业对象的句柄,除非它具有作业对象的名称。但是,应用程序可以使用NULL调用QueryI

c - Visual-C++ 内联汇编程序编译不正确

最近我向社区询问了两个偏移量的差异Visual-C++inlineassemblerdifferenceoftwooffsets并很快得到回复,非常感谢。现在我遇到了另一个问题,这个问题更糟。我有这样的指令..naked...__asm{...moveax,dwordptr[ebx+offsetdata1]...}真正的问题是它被编译为moveax,[offsetdata1]此行没有编译器警告(/WAll模式),但代码已更改且更改很多-想象一下,它完全被抛出ebx+部分!默默。它是编译器错误还是功能?也许我必须指定一些额外的标志?问题仅在于偏移量,因为moveax,dwordptr[e

c - Windows 上的定时器和 sleep

我正在尝试将一些使用nanosleep()和get_clocktime()的linux代码移植到Windows。据我所知,Windows上确实没有那么多性能计时器,并且除了Sleep()之外没有真正的sleep功能。我在Windows上找到了QueryPerformanceCounter和QueryPerformanceFrequency,但我该如何调整它们以使用快速sleep功能。我尝试移植的代码位于这篇StackOverflow帖子中:https://stackoverflow.com/a/13559213/1161270总的来说,我正在尝试将linux代码移植到使用nanosle

c++ - 搜索硬盘中所有文件的最快方法是什么?

我目前正在尝试搜索硬盘中的所有文件。我将在窗口7上搜索大量文档。这意味着使用大量文件I/O...我在想我应该使用多线程或异步I/O。你怎么看? 最佳答案 如果您以正确的方式考虑它,这很适合工作流水线:线程1使用目录列表来检索和获取目录列表。线程2使用目录列表并将其他目录分派(dispatch)回线程1,同时将文件转发到线程3。同时,线程3有一个简单的工作:一次从文件中获取N页数据,并将它们转发给线程4,线程4在内存页面中搜索匹配项。因为应用程序主要受IO限制,所以您可以轻松地在线程3中投入一些CPU来优化请求的并发性和优先级,以尝试

c - Logitech网络摄像头USB C Windows

我想基本上只是从罗技USB相机抓取帧。怎么做呢?我可以给它发送USB指令;但是,我认为罗技没有包含控制摄像机所需指令的文档。是用直接表演的方式吗?WindowsMPD看起来是个好主意,但我不认为Logitech设备支持它。与usb摄像头通信的标准方式是什么?谢谢。 最佳答案 到现在为止,你很可能已经弄明白了,但其他人可能会从中受益。几乎所有像样的网络(或其他)摄像机类型都有可用的api,当然是logitech。这里有一个linkthatmayhelp 关于c-Logitech网络摄像头U

在 c 中为 Windows 操作系统创建中断

#include#include..intmain(){while(1){Timer1();//Timer1callsthefunctioncalledTASK1forevery2ms(CreateTimerQueueTimer)Timer2();//Timer2callsthefunctioncalledTASK2forevery10msTimer3();//Timer3callsthefunctioncalledTASK3forevery100ms}return0:}intTimer1()//ThisisonlyaTimer1code{intarg;HANDLETask1;HAND

c - cygwin 中的 gcc 编译器找不到 X 窗口目录

我正在尝试编译一个项目,该项目在我的/usr/include目录中包含来自X11的各种文件。它在远程linux机器上编译得很好,但是当我尝试运行make文件时,出现以下错误:$makeclean;makerm-fxrobot.omobile_base.oarm.oeye.oobject.o4D_math.oXkw/Canvas.oXkw/Slider.oXkw/Xkw.olib/simulator.a*~cd./Xkw;make;cd..;\make[1]:Enteringdirectory`C:/cygwin/home/Gene/roger/mmRogerSpring2014/Rog